import os
from datetime import timedelta

# 计算基目录与绝对数据库路径（避免相对路径在不同工作目录下出错）
BASE_DIR = os.path.abspath(os.path.dirname(__file__))
DB_PATH = os.path.join(BASE_DIR, 'instance', 'blog.db').replace('\\', '/')

class Config:
    """单一开发环境配置"""
    DEBUG = True
    SECRET_KEY = os.environ.get('SECRET_KEY') or 'personal-blog-secret-key'
    # 统一使用 instance 目录下的绝对路径数据库，避免相对路径在 Windows 下失败
    SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or f'sqlite:///{DB_PATH}'
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    
    # 移除JWT配置，使用Flask-Login会话认证
    
    # 文件上传配置
    UPLOAD_FOLDER = 'files'
    MAX_CONTENT_LENGTH = 16 * 1024 * 1024  # 16MB
    ALLOWED_EXTENSIONS = {'txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif', 'doc', 'docx'}
    
    # 分页配置
    POSTS_PER_PAGE = 10
    COMMENTS_PER_PAGE = 20
    
    # 缓存配置
    CACHE_TYPE = 'simple'
    CACHE_DEFAULT_TIMEOUT = 300
